package com.egao.common.module.counsel.service.impl;

import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.egao.common.core.web.JsonResult;
import com.egao.common.module.counsel.CounselConstants;
import com.egao.common.module.counsel.entity.CounselStudentFeedback;
import com.egao.common.module.counsel.mapper.CounselStudentFeedbackMapper;
import com.egao.common.module.counsel.service.CounselStudentFeedbackService;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * @author lym
 * @date 2022/1/24 17:12
 */
@Service
public class CounselStudentFeedbackServiceImpl extends ServiceImpl<CounselStudentFeedbackMapper, CounselStudentFeedback> implements CounselStudentFeedbackService {

    @Override
    public JsonResult feedbackStatistics(String startDate, String endDate) {
        if (!StrUtil.isBlank(startDate)) {
            startDate += " 00:00:00";
        }
        if (!StrUtil.isBlank(endDate)) {
            endDate += " 23:59:59";
        }
        HashMap hashMap = baseMapper.feedbackStatistics(startDate, endDate);

        List<Integer[]> datas = new ArrayList<>();
        datas.add(new Integer[]{
                Integer.parseInt(hashMap.get("a1").toString()),
                Integer.parseInt(hashMap.get("b1").toString()),
                Integer.parseInt(hashMap.get("c1").toString()),
                Integer.parseInt(hashMap.get("d1").toString()),
                Integer.parseInt(hashMap.get("e1").toString()),
                Integer.parseInt(hashMap.get("f1").toString())
        });
        datas.add(new Integer[]{
                Integer.parseInt(hashMap.get("a2").toString()),
                Integer.parseInt(hashMap.get("b2").toString()),
                Integer.parseInt(hashMap.get("c2").toString()),
                Integer.parseInt(hashMap.get("d2").toString()),
                Integer.parseInt(hashMap.get("e2").toString()),
                Integer.parseInt(hashMap.get("f2").toString())
        });
        datas.add(new Integer[]{
                Integer.parseInt(hashMap.get("a3").toString()),
                Integer.parseInt(hashMap.get("b3").toString()),
                Integer.parseInt(hashMap.get("c3").toString()),
                Integer.parseInt(hashMap.get("d3").toString()),
                Integer.parseInt(hashMap.get("e3").toString()),
                Integer.parseInt(hashMap.get("f3").toString())
        });
        datas.add(new Integer[]{
                Integer.parseInt(hashMap.get("a4").toString()),
                Integer.parseInt(hashMap.get("b4").toString()),
                Integer.parseInt(hashMap.get("c4").toString()),
                Integer.parseInt(hashMap.get("d4").toString()),
                Integer.parseInt(hashMap.get("e4").toString()),
                Integer.parseInt(hashMap.get("f4").toString())
        });

        HashMap result = new HashMap();
        result.put("titles", CounselConstants.FEEDBACK_TYPE);
        result.put("datas", datas);
        result.put("categorys", new String[]{"非常满意/非常有帮助/非常愿意", "满意/比较有帮助/愿意", "一般", "不满意/没有帮助/不愿意"});

        return JsonResult.ok().setData(result);
    }
}
